package mjc.egg;
import mjc.compiler.*;
import mjc.gc.*;
import mg.egg.eggc.compiler.libjava.lex.*;
import mg.egg.eggc.compiler.libjava.messages.*;
import mg.egg.eggc.compiler.libjava.*;
import mg.egg.eggc.compiler.libjava.problem.IProblem;
import java.util.Vector;
public class S_DEFS_MJAVA {
LEX_MJAVA scanner;
  S_DEFS_MJAVA() {
    }
  S_DEFS_MJAVA(LEX_MJAVA scanner) {
    this.scanner = scanner;
    this.att_scanner = scanner;
    }
int [] sync= new int[0];
  String att_hnomclasse;
  TDS att_htdsclasses;
  INFOCLASSE att_hinfoclasse;
  INFOCLASSE att_infoclasse;
  LEX_MJAVA att_scanner;
  private void regle10() throws Exception {

    //declaration
    T_MJAVA x_2 = new T_MJAVA(scanner ) ;
    S_DEF_MJAVA x_4 = new S_DEF_MJAVA(scanner) ;
    S_DEFS_MJAVA x_6 = new S_DEFS_MJAVA(scanner) ;
    //appel
      action_auto_inh_10(x_4, x_6);
    x_2.analyser(LEX_MJAVA.token_private);
      action_visib_10(x_4, x_6);
    x_4.analyser() ;
      action_attributs_10(x_4, x_6);
    x_6.analyser() ;
      action_remontee_10(x_4, x_6);
  }
  private void regle8() throws Exception {

    //declaration
    S_DEF_MJAVA x_3 = new S_DEF_MJAVA(scanner) ;
    S_DEFS_MJAVA x_5 = new S_DEFS_MJAVA(scanner) ;
    //appel
      action_auto_inh_8(x_3, x_5);
      action_visib_8(x_3, x_5);
    x_3.analyser() ;
      action_attributs_8(x_3, x_5);
    x_5.analyser() ;
      action_remontee_8(x_3, x_5);
  }
  private void regle9() throws Exception {

    //declaration
    T_MJAVA x_2 = new T_MJAVA(scanner ) ;
    S_DEF_MJAVA x_4 = new S_DEF_MJAVA(scanner) ;
    S_DEFS_MJAVA x_6 = new S_DEFS_MJAVA(scanner) ;
    //appel
      action_auto_inh_9(x_4, x_6);
    x_2.analyser(LEX_MJAVA.token_public);
      action_visib_9(x_4, x_6);
    x_4.analyser() ;
      action_attributs_9(x_4, x_6);
    x_6.analyser() ;
      action_remontee_9(x_4, x_6);
  }
  private void regle7() throws Exception {

    //declaration
    //appel
      action_action_7();
  }
private void action_attributs_10(S_DEF_MJAVA x_4, S_DEFS_MJAVA x_6) throws Exception {
try {
// instructions
x_6.att_hinfoclasse=x_4.att_infoclasse;
}catch(RuntimeException e) {		//e.printStackTrace();
       scanner._interrompre(IProblem.Internal, scanner.getBeginLine(), ICoreMessages.id_EGG_runtime_error, CoreMessages.EGG_runtime_error,e.getStackTrace());
	}
  }
private void action_auto_inh_8(S_DEF_MJAVA x_3, S_DEFS_MJAVA x_5) throws Exception {
try {
// instructions
x_3.att_htdsclasses=this.att_htdsclasses;
x_5.att_htdsclasses=this.att_htdsclasses;
x_3.att_hinfoclasse=this.att_hinfoclasse;
x_3.att_hnomclasse=this.att_hnomclasse;
x_5.att_hnomclasse=this.att_hnomclasse;
}catch(RuntimeException e) {		//e.printStackTrace();
       scanner._interrompre(IProblem.Internal, scanner.getBeginLine(), ICoreMessages.id_EGG_runtime_error, CoreMessages.EGG_runtime_error,e.getStackTrace());
	}
  }
private void action_remontee_9(S_DEF_MJAVA x_4, S_DEFS_MJAVA x_6) throws Exception {
try {
// instructions
this.att_infoclasse=x_6.att_infoclasse;
}catch(RuntimeException e) {		//e.printStackTrace();
       scanner._interrompre(IProblem.Internal, scanner.getBeginLine(), ICoreMessages.id_EGG_runtime_error, CoreMessages.EGG_runtime_error,e.getStackTrace());
	}
  }
private void action_remontee_8(S_DEF_MJAVA x_3, S_DEFS_MJAVA x_5) throws Exception {
try {
// instructions
this.att_infoclasse=x_5.att_infoclasse;
}catch(RuntimeException e) {		//e.printStackTrace();
       scanner._interrompre(IProblem.Internal, scanner.getBeginLine(), ICoreMessages.id_EGG_runtime_error, CoreMessages.EGG_runtime_error,e.getStackTrace());
	}
  }
private void action_auto_inh_9(S_DEF_MJAVA x_4, S_DEFS_MJAVA x_6) throws Exception {
try {
// instructions
x_4.att_htdsclasses=this.att_htdsclasses;
x_6.att_htdsclasses=this.att_htdsclasses;
x_4.att_hinfoclasse=this.att_hinfoclasse;
x_4.att_hnomclasse=this.att_hnomclasse;
x_6.att_hnomclasse=this.att_hnomclasse;
}catch(RuntimeException e) {		//e.printStackTrace();
       scanner._interrompre(IProblem.Internal, scanner.getBeginLine(), ICoreMessages.id_EGG_runtime_error, CoreMessages.EGG_runtime_error,e.getStackTrace());
	}
  }
private void action_visib_10(S_DEF_MJAVA x_4, S_DEFS_MJAVA x_6) throws Exception {
try {
// instructions
x_4.att_hvisibilite="private";
x_4.att_hinfoclasse=this.att_hinfoclasse;
}catch(RuntimeException e) {		//e.printStackTrace();
       scanner._interrompre(IProblem.Internal, scanner.getBeginLine(), ICoreMessages.id_EGG_runtime_error, CoreMessages.EGG_runtime_error,e.getStackTrace());
	}
  }
private void action_visib_8(S_DEF_MJAVA x_3, S_DEFS_MJAVA x_5) throws Exception {
try {
// instructions
x_3.att_hvisibilite="public";
}catch(RuntimeException e) {		//e.printStackTrace();
       scanner._interrompre(IProblem.Internal, scanner.getBeginLine(), ICoreMessages.id_EGG_runtime_error, CoreMessages.EGG_runtime_error,e.getStackTrace());
	}
  }
private void action_visib_9(S_DEF_MJAVA x_4, S_DEFS_MJAVA x_6) throws Exception {
try {
// instructions
x_4.att_hvisibilite="public";
}catch(RuntimeException e) {		//e.printStackTrace();
       scanner._interrompre(IProblem.Internal, scanner.getBeginLine(), ICoreMessages.id_EGG_runtime_error, CoreMessages.EGG_runtime_error,e.getStackTrace());
	}
  }
private void action_action_7() throws Exception {
try {
// instructions
this.att_infoclasse=this.att_hinfoclasse;
}catch(RuntimeException e) {		//e.printStackTrace();
       scanner._interrompre(IProblem.Internal, scanner.getBeginLine(), ICoreMessages.id_EGG_runtime_error, CoreMessages.EGG_runtime_error,e.getStackTrace());
	}
  }
private void action_attributs_9(S_DEF_MJAVA x_4, S_DEFS_MJAVA x_6) throws Exception {
try {
// instructions
x_6.att_hinfoclasse=x_4.att_infoclasse;
}catch(RuntimeException e) {		//e.printStackTrace();
       scanner._interrompre(IProblem.Internal, scanner.getBeginLine(), ICoreMessages.id_EGG_runtime_error, CoreMessages.EGG_runtime_error,e.getStackTrace());
	}
  }
private void action_auto_inh_10(S_DEF_MJAVA x_4, S_DEFS_MJAVA x_6) throws Exception {
try {
// instructions
x_4.att_htdsclasses=this.att_htdsclasses;
x_6.att_htdsclasses=this.att_htdsclasses;
x_4.att_hnomclasse=this.att_hnomclasse;
x_6.att_hnomclasse=this.att_hnomclasse;
}catch(RuntimeException e) {		//e.printStackTrace();
       scanner._interrompre(IProblem.Internal, scanner.getBeginLine(), ICoreMessages.id_EGG_runtime_error, CoreMessages.EGG_runtime_error,e.getStackTrace());
	}
  }
private void action_remontee_10(S_DEF_MJAVA x_4, S_DEFS_MJAVA x_6) throws Exception {
try {
// instructions
this.att_infoclasse=x_6.att_infoclasse;
}catch(RuntimeException e) {		//e.printStackTrace();
       scanner._interrompre(IProblem.Internal, scanner.getBeginLine(), ICoreMessages.id_EGG_runtime_error, CoreMessages.EGG_runtime_error,e.getStackTrace());
	}
  }
private void action_attributs_8(S_DEF_MJAVA x_3, S_DEFS_MJAVA x_5) throws Exception {
try {
// instructions
x_5.att_hinfoclasse=x_3.att_infoclasse;
}catch(RuntimeException e) {		//e.printStackTrace();
       scanner._interrompre(IProblem.Internal, scanner.getBeginLine(), ICoreMessages.id_EGG_runtime_error, CoreMessages.EGG_runtime_error,e.getStackTrace());
	}
  }
  public void analyser () throws Exception {
    scanner.lit ( 1 ) ;
    switch ( scanner.fenetre[0].code ) {
      case LEX_MJAVA.token_acf : // 19916
        regle7 () ;
      break ;
      case LEX_MJAVA.token_int : // 19927
        regle8 () ;
      break ;
      case LEX_MJAVA.token_bool : // 19928
        regle8 () ;
      break ;
      case LEX_MJAVA.token_void : // 19926
        regle8 () ;
      break ;
      case LEX_MJAVA.token_ident : // 19955
        regle8 () ;
      break ;
      case LEX_MJAVA.token_public : // 19933
        regle9 () ;
      break ;
      case LEX_MJAVA.token_private : // 19934
        regle10 () ;
      break ;
      default :
               scanner._interrompre(IProblem.Syntax, scanner.getBeginLine(), IMJAVAMessages.id_MJAVA_unexpected_token,MJAVAMessages.MJAVA_unexpected_token,new String[]{scanner.fenetre[0].getNom()});
    }
  }
  }
